import redis
import logging

# 自定义项目配置类
class Config(object):
    """工程配置信息"""

    # 调试配置信息
    DEBUG = True

    # 数据库配置信息
    SQLALCHEMY_DATABASE_URI = "mysql://root:mysql@127.0.0.1:3306/information_test"

    SQLALCHEMY_TRACK_MODIFICATIONS = True

    # Redis配置信息
    REDIS_HOST = "127.0.0.1"

    REDIS_PORT = 6379

    REDIS_NUM = 1

    # session配置信息
    SECRET_KEY = "GYUIADOIWODIAW8291ALND"

    # 指定cookie中的session_id保存到Redis中
    SESSION_TYPE = "redis"

    # 让cookie中的session_id被加密处理
    SESSION_USE_SIGNER = True

    # 使用Redis的实例
    SESSION_REDIS = redis.StrictRedis(REDIS_HOST, REDIS_PORT)

    # 设置session不永久保存
    SECRET_PERMANENT = False

    # 设置session 的有效时间
    SESSION_PERMANENT_LIFETIME =86400


class DevelopmentConfig(Config):
    """开发模式项目配置类"""
    DEBUG = True
    LOG_LEVEL = logging.DEBUG


class ProductionConfig(Config):
    """上线模式项目配置类"""
    DEBUG = False
    LOG_LEVEL = logging.WARNING


# 提供一个接口给外界使用
config_dict = {
    "development": DevelopmentConfig,
    "production" : ProductionConfig
}
